INCF : (INCrement F)
Incrémente f et range le résultat dans d
(f) + 1 -> (d)
f est l'emplacement mémoire d 'un registre
Nombre de cycle d'horloge : 1
Indicateurs positionnés :
Z si résultat stocké dans le registre W ou f est nul ( Z=1 )
d est paramétrable
si d= 0 le résultat va dans le registre W
si d= 1 le résultat va dans le registre f
Exemple :
Dans cet exemple on charge une valeur dans un registre ici 55h puis on incrémente cette valeur qui devient alors 56h.
Reg_temp equ 0Ah OA correspond à l'adresse d' un registre temporaire
#define f 1 on affecte la valeur 1 à la variable f
Movlw 01010101b on charge 55h dans le registre W
Movwf Reg_temp on met W dans le registre temporaire
Incf Reg_temp, f on complémente le contenu du registre temporaire
INCFSZ : (INCrement F Skip if Zéro)
Incrémente f et sauter l'instruction suivante si (f) = 0
(f) + 1 -> (d) et saute si le résultat = 0
f est l'emplacement mémoire d 'un registre
Nombre de cycle d'horloge : 1 ou 2
Indicateurs positionnés : Aucun
d est paramétrable
si d= 0 le résultat va dans le registre W
si d= 1 le résultat va dans le registre f
IORLW : (Inclusif OR Literal with W)
Opération logique "OU" entre le registre W et une constante c
( W ) OR c -> ( W )
Nombre de cycle d'horloge : 1
Indicateurs positionnés :
Z si résultat stocké dans le registre W est nul ( Z=1 )
Exemple :
Dans cet exemple on charge une valeur dans le registre W puis on éxécute un ou logique avec ne valeur immédiate
Movlw 01010101b on charge 01010101b dans le registre W
Iorlw 11110000b aprés le ou logique W = 11110101b
IORWF : (Inclusif OR W with F)
Opération logique "OU" entre le registre W et f résultat dans d
( W ) OR ( f ) -> ( d )
Nombre de cycle d'horloge : 1
d est paramétrable
si d= 0 le résultat va dans le registre W
si d= 1 le résultat va dans le registre f
Indicateurs positionnés :
Z si résultat stocké dans le registre W ou f est nul ( Z=1 )
Exemple :
Dans cet exemple on charge une valeur dans le registre W puis on éxécute un ou logique avec le contenu d'un registre temporaire, le résultat est dirigé vers le registre temporaire..
Reg_temp equ 0Ah OA correspond à l'adresse d' un registre temporaire
#define f 1 on affecte la valeur 1 à la variable f
Movlw 01010101b on charge 55h dans le registre W
Movwf Reg_temp on met W dans le registre temporaire
Movlw 00001111b on charge 0Fh dans le registre W
Iorwf Reg_temp, f ou logique avec W le contenu du registre temporaire= 01011111b